package com.sz.biz.pay.constants;

/**
 * Function: TODO: ADD FUNCTION <br>
 * Author: siqishangshu <br>
 * Date: 2017-11-03 11:12:00
 */
public class PayConstant {


    public static final String NOTIFY_URL = "/api/v1/pingan/notify";
    public static final boolean NEED_CONFIRMED = Boolean.FALSE;
    public static final double HAND_FEE_FREE = 0.0;
    /**
     * 转账方式   TranType   C(1)	必输	    1行内转账   3：行外转账
     */
    public class TranType{
        public static final String INNER = "1";
        public static final String OUTER = "3";
    }
    /**
     * 会员类型
     * 0 汇总 1 物流 2 贸易 3 两者都是 1平台 128 贸易供应商
     * logistics platform supplier
     */
    public class AccountType {

        public static final int SUMMARY = 0;
        public static final int LOGISTICS = 1;
        public static final int TRADE = 2;
        public static final int BOTH = 3;
        public static final int PLATFORM = 4;
        public static final int SUPPLIER = 128;
        public static final int OTHER = 5;
        public static final int LOGISTICS_PLATFORM = 6;
        //系统创建
        public static final int LOGISTICS_SYS = 7;
    }

    /**
     * 0：充值 1：取现 2：支付 3：其它 4:减持
     */
    public class TranscationType {

        public static final int RECHARGE = 0;
        public static final int WITHDRAWAL = 1;
        public static final int PAY = 2;
        public static final int OTHER = 3;
        public static final int DECREASE = 4;
    }

    /**
     * 交易状态 （0：成功，1：失败，2：待确认，3：处理中，4：异常 ）
     * Transaction status (0: success, 1: failure, 3: to be confirmed, 4: processing, 5: abnormal)
     */
    public class TranStatus {

        public static final int SUCCESS = 0;
        public static final int FAILURE = 1;
        public static final int NEED_CONFIRMED = 2;
        public static final int PROCESSING = 3;
        public static final int ABNORMAL = 4;
    }

    /**
     * FREEZEBALANCE 冻结余额
     * DRAWBALANCE 可提现余额
     */
    public class AmountType {
        public static final int FREEZEBALANCE = 1;
        public static final int DRAWBALANCE = 2;
    }

    public class PaymentType {
        public static final String CTITC = "CTITC";
        public static final String ALIPAY = "ALIPAY";
        public static final String TENPAY = "TENPAY";
        public static final String PINGAN = "PINGAN";
        public static final String SYSTEM = "SYSTEM";
        public static final String OTHER = "OTHER";
    }

    public static int PAYPWDRETRYTIMES = 5;

    public static int PAYACCOUNTLOCKTIMES = 24;

    /**
     * 1:已绑定
     * 2：已验证
     * 0：已解绑
     */
    public class BindCardStatus {
        public static final int VERIFIED = 1;
        public static final int BOUND = 2;
        public static final int UNBIND = 0;
    }

    /**
     * flag	    交易结果	   "1：成功 2：失败 3：不明"
     */
    public class NotifyFlag {
        public static final String SUCCESS = "1";
        public static final String FAILURE = "2";
        public static final String UNKOWN = "3";
    }

    public class BankName {
        public static final String PINGAN = "平安银行";
    }

    /**
     * type	交易类型
     * "S：设置支付密码
     * C：修改支付密码
     * R：重置支付密码
     * V：验证支付密码
     * M：会员手机号修改
     * 必输
     * <p>
     * 会员绑定充值/提现账号验证通过后才能设置支付密码"
     */
    public class SignType {
        public static final String SET = "S";
        public static final String CHANGE = "C";
        public static final String RESET = "R";
        public static final String VERIFY = "V";
        public static final String MODIFIFY_PHOME_NUMBER = "M";
    }

    /**
     * 币种
     */
    public class Currency {
        public static final String CNY = "CNY";
        public static final String RMB = "RMB";
    }

    /**
     * 人民币单位
     */
    public class RmbUnit {
        public static final String BILLION = "亿元";
        public static final String MILLION = "万元";
        public static final String YUAN = "元";
    }

    /**
     * 银行接口操作失败错误码
     */
    public class PayErrorCode{
        public static final String ERROR_NO_DATA = "ERR020";
    }

    /**
     * 开户功能标志 1:开户 3：销户
     */
    public class OpenAccountFlag{
        public static final String OPEN = "1";
        public static final String DESTROY = "3";
    }

    /**
     * 会员属性 00：默认
     */
    public class MemberProperties{
        public static final String DEF ="00";
    }

    /**
     * 单位换算
     */
    public class UnitConversion{
        public static final String PERCENTILE = "0.00";
        public static final int MILLION = 10000;
        public static final int BILLION = 100000000;
    }

    /**
     * 功能标志 1:指定 2：修改 3：删除
     */
    public class FuncFlag{
        public static final String SPECIFY = "1";
        public static final String MODIFY = "2";
        public static final String DEL = "3";
    }

    /**
     * 复核支付结果 Y：复核通过  N：复核拒绝
     */
    public class RecheckFlag{
        public static final String PASSED = "Y";
        public static final String Refused = "N";
    }

    /**
     * 平台操作支付功能标志 1：代理复核  2：强制支付
     */
    public class PlatformOperationPayFlag{
        public static final String AGENT_RECHECK = "1";
        public static final String FORCED_PAY = "2";
    }
}
